#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <assert.h>

class A
{
public:
	A(int a, int b)
	{
		_a = a;
		_b = b;
	}
private:
	int _a;
	int _b;
};
class Date
{
public:
	Date(int year = 1, int month = 1, int day = 1)
		:_year(year)
		,_month(month)
		,_day(day)
	{ }
	Date* operator&()
	{
		return this;
	}
	//const Date* operator&() const
	//{
	//	return this;
	//}

private:
	int _year;
	int _month;
	int _day;
	A aa = A(1,2);
};

//int main()
//{
//	Date d1;
//	const Date d2;
//	auto pd1 = &d1;
//	auto pd2 = &d2;
//
//	std::cout << typeid(pd1).name() << std::endl;
//	std::cout << typeid(pd2).name() << std::endl;
//	return 0;
//}

int main()
{
	Date d;
	A a{ 1,3 };
	return 0;
}